// 分类模块
import { topCategory } from '@/api/constants'
import { findAllcategory } from '@/api/category.js'
export default {
  namespaced: true,
  state() {
    return {
      //分类信息集合  依赖topCategory 重新设置 不至于白屏 保证初始化就要数据
      list: topCategory.map(item => ({ name: item }))
    }
  },
  //修改分类函数
  mutations: {
    // Payload 所有的分类集合
    setList(state, payload) {
      state.list = payload
    },
    show(state, id) {
      const currCategory = state.list.find(item => item.id === id)
      currCategory.open = true
    },
    hide(state, id) {
      const currCategory = state.list.find(item => item.id === id)
      currCategory.open = false
    },
  },
  // 定义SHow和HIde函数 ，控制 当前分类的二级分类的显示和隐藏

  // 获取分类函数
  actions: {
    async getList({ commit }) {
      // 获取分类数据
      const data = await findAllcategory()
        // 给每个 分类加上二级控制 显示 隐藏
      data.result.forEach(top => {
          top.open = false

        })
        // 修改分类数据
      commit('setList', data.result)

    }
  }
}